home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / systems / minix / bash1141.zoo / Diffs
Text File  |  1994-07-26  |  34KB  |  1,056 lines

  1. diff -u2r orig/builtins/Makefile ./builtins/Makefile
  2. --- orig/builtins/Makefile    Thu Jul  7 17:31:06 1994
  3. +++ ./builtins/Makefile    Sun Jul 24 11:44:50 1994
  4. @@ -45,5 +45,5 @@
  5.      $(srcdir)/times.def $(srcdir)/trap.def $(srcdir)/type.def \
  6.      $(srcdir)/ulimit.def $(srcdir)/umask.def $(srcdir)/wait.def \
  7. -    $(srcdir)/reserved.def
  8. +    $(srcdir)/reserved.def $(srcdir)/gem.def
  9.  
  10.  STATIC_SOURCE = common.c getopt.c bashgetopt.c getopt.h 
  11. @@ -55,5 +55,5 @@
  12.      let.o read.o return.o set.o setattr.o shift.o source.o \
  13.      suspend.o test.o times.o trap.o type.o ulimit.o umask.o \
  14. -    wait.o getopts.o getopt.o bashgetopt.o
  15. +    wait.o getopts.o getopt.o bashgetopt.o gem.o
  16.  
  17.  THINGS_TO_TAR = $(DEFS) $(STATIC_SOURCE) Makefile ChangeLog
  18. @@ -65,5 +65,5 @@
  19.  libbuiltins.a: $(MKBUILTINS) $(OFILES)
  20.      $(RM) $@
  21. -    $(AR) cq $@ $(OFILES)
  22. +    $(AR) crs $@ $(OFILES)
  23.      -if [ -f "$(RANLIB)" ]; then $(RANLIB) $@; fi
  24.  
  25. @@ -130,4 +130,5 @@
  26.  getopts.o: getopts.def
  27.  reserved.o: reserved.def
  28. +gem.o: gem.def
  29.  
  30.  common.o: ../shell.h ../command.h ../config.h ../memalloc.h ../general.h
  31. @@ -254,4 +255,7 @@
  32.  wait.o: ../quit.h ../dispose_cmd.h ../make_cmd.h ../subst.h ../externs.h
  33.  wait.o: ../shell.h ../unwind_prot.h ../variables.h ../maxpath.h
  34. +gem.o: ../command.h ../config.h ../memalloc.h ../error.h ../general.h
  35. +gem.o: ../quit.h ../dispose_cmd.h ../make_cmd.h ../subst.h ../externs.h
  36. +gem.o: ../shell.h ../unwind_prot.h ../variables.h ../maxpath.h
  37.  
  38.  bashgetopt.o: ../bashansi.h ../ansi_stdlib.h
  39. diff -u2r orig/builtins/cd.def ./builtins/cd.def
  40. --- orig/builtins/cd.def    Thu Jun  2 15:35:30 1994
  41. +++ ./builtins/cd.def    Fri Jun  3 23:12:16 1994
  42. @@ -250,12 +250,12 @@
  43.  directory.  With no arguments, exchanges the top two directories.
  44.  
  45. -+n    Rotates the stack so that the Nth directory (counting
  46. -    from the left of the list shown by `dirs') is at the top.
  47. ++n      Rotates the stack so that the Nth directory (counting
  48. +        from the left of the list shown by `dirs') is at the top.
  49.  
  50. --n    Rotates the stack so that the Nth directory (counting
  51. -    from the right) is at the top.
  52. +-n      Rotates the stack so that the Nth directory (counting
  53. +        from the right) is at the top.
  54.  
  55. -dir    adds DIR to the directory stack at the top, making it the
  56. -    new current working directory.
  57. +dir     adds DIR to the directory stack at the top, making it the
  58. +        new current working directory.
  59.  
  60.  You can see the directory stack with the `dirs' command.
  61. @@ -513,11 +513,11 @@
  62.  top directory.
  63.  
  64. -+n    removes the Nth entry counting from the left of the list
  65. -    shown by `dirs', starting with zero.  For example: `popd +0'
  66. -    removes the first directory, `popd +1' the second.
  67. -
  68. --n    removes the Nth entry counting from the right of the list
  69. -    shown by `dirs', starting with zero.  For example: `popd -0'
  70. -    removes the last directory, `popd -1' the next to last.
  71. ++n      removes the Nth entry counting from the left of the list
  72. +        shown by `dirs', starting with zero.  For example: `popd +0'
  73. +        removes the first directory, `popd +1' the second.
  74. +
  75. +-n      removes the Nth entry counting from the right of the list
  76. +        shown by `dirs', starting with zero.  For example: `popd -0'
  77. +        removes the last directory, `popd -1' the next to last.
  78.  
  79.  You can see the directory stack with the `dirs' command.
  80. diff -u2r orig/builtins/echo.def ./builtins/echo.def
  81. --- orig/builtins/echo.def    Thu Jun  2 15:35:30 1994
  82. +++ ./builtins/echo.def    Fri Jun  3 23:14:50 1994
  83. @@ -31,14 +31,14 @@
  84.  suppressed.  If the -e option is given, interpretation of the
  85.  following backslash-escaped characters is turned on:
  86. -    \a    alert (bell)
  87. -    \b    backspace
  88. -    \c    suppress trailing newline
  89. -    \f    form feed
  90. -    \n    new line
  91. -    \r    carriage return
  92. -    \t    horizontal tab
  93. -    \v    vertical tab
  94. -    \\    backslash
  95. -    \num    the character whose ASCII code is NUM (octal).
  96. +        \a      alert (bell)
  97. +        \b      backspace
  98. +        \c      suppress trailing newline
  99. +        \f      form feed
  100. +        \n      new line
  101. +        \r      carriage return
  102. +        \t      horizontal tab
  103. +        \v      vertical tab
  104. +        \\      backslash
  105. +        \num    the character whose ASCII code is NUM (octal).
  106.  
  107.  You can explicitly turn off the interpretation of the above characters
  108. diff -u2r orig/builtins/exec.def ./builtins/exec.def
  109. --- orig/builtins/exec.def    Thu Jul  7 17:31:08 1994
  110. +++ ./builtins/exec.def    Thu Jul  7 18:29:30 1994
  111. @@ -68,4 +68,5 @@
  112.        /* Otherwise, execve the new command with args. */
  113.        char *command, **args;
  114. +     char *p;
  115.        int dash_name = 0;
  116.  
  117. @@ -94,5 +95,9 @@
  118.       the search path. */
  119.        if (absolute_program (args[0]))
  120. -    command = args[0];
  121. +#ifdef atarist
  122. +    command = find_suffixed_file (args[0]);
  123. +#else
  124. +    command = savestring (args[0]);
  125. +#endif
  126.        else
  127.      command = find_user_command (args[0]);
  128. @@ -104,5 +109,7 @@
  129.      }
  130.  
  131. -      command = full_pathname (command);
  132. +      p = full_pathname (command);
  133. +      free (command);
  134. +      command = p;
  135.        /* If the user wants this to look like a login shell, then
  136.       prepend a `-' onto the first argument (argv[0]). */
  137. diff -u2r orig/builtins/let.def ./builtins/let.def
  138. --- orig/builtins/let.def    Thu Jun  2 15:35:32 1994
  139. +++ ./builtins/let.def    Fri Jun  3 23:17:12 1994
  140. @@ -30,11 +30,11 @@
  141.  The levels are listed in order of decreasing precedence.
  142.  
  143. -    -        unary minus
  144. -    !        logical NOT
  145. -    * / %        multiplication, division, remainder
  146. -    + -        addition, subtraction
  147. -    <= >= < >    comparison
  148. -    == !=        equality inequality
  149. -    =        assignment
  150. +        -               unary minus
  151. +        !               logical NOT
  152. +        * / %           multiplication, division, remainder
  153. +        + -             addition, subtraction
  154. +        <= >= < >       comparison
  155. +        == !=           equality inequality
  156. +        =               assignment
  157.  
  158.  Shell variables are allowed as operands.  The name of the variable
  159. diff -u2r orig/builtins/reserved.def ./builtins/reserved.def
  160. --- orig/builtins/reserved.def    Thu Jun  2 15:35:34 1994
  161. +++ ./builtins/reserved.def    Fri Jun  3 23:19:14 1994
  162. @@ -85,37 +85,37 @@
  163.  BASH_VERSION    The version numbers of this Bash.
  164.  CDPATH          A colon separated list of directories to search
  165. -        when the argument to `cd' is not found in the current
  166. -        directory.
  167. +                when the argument to `cd' is not found in the current
  168. +                directory.
  169.  #if defined (HISTORY)
  170.  HISTFILE        The name of the file where your command history is stored.
  171.  HISTFILESIZE    The maximum number of lines this file can contain.
  172.  HISTSIZE        The maximum number of history lines that a running
  173. -        shell can access.
  174. +                shell can access.
  175.  #endif /* HISTORY */
  176.  HOME            The complete pathname to your login directory.
  177.  HOSTTYPE        The type of CPU this version of Bash is running under.
  178.  IGNOREEOF       Controls the action of the shell on receipt of an EOF
  179. -        character as the sole input.  If set, then the value
  180. -        of it is the number of EOF characters that can be seen
  181. -        in a row on an empty line before the shell will exit
  182. -        (default 10).  When unset, EOF signifies the end of input.
  183. -MAILCHECK    How often, in seconds, Bash checks for new mail.
  184. -MAILPATH    A colon-separated list of filenames which Bash checks
  185. -        for new mail.
  186. +                character as the sole input.  If set, then the value
  187. +                of it is the number of EOF characters that can be seen
  188. +                in a row on an empty line before the shell will exit
  189. +                (default 10).  When unset, EOF signifies the end of input.
  190. +MAILCHECK       How often, in seconds, Bash checks for new mail.
  191. +MAILPATH        A colon-separated list of filenames which Bash checks
  192. +                for new mail.
  193.  PATH            A colon-separated list of directories to search when
  194. -        looking for commands.
  195. +                looking for commands.
  196.  PROMPT_COMMAND  A command to be executed before the printing of each
  197. -        primary prompt.
  198. +                primary prompt.
  199.  PS1             The primary prompt string.
  200.  PS2             The secondary prompt string.
  201.  TERM            The name of the current terminal type.
  202.  auto_resume     Non-null means a command word appearing on a line by
  203. -        itself is first looked for in the list of currently
  204. -        stopped jobs.  If found there, that job is foregrounded.
  205. -        A value of `exact' means that the command word must
  206. -        exactly match a command in the list of stopped jobs.  A
  207. -        value of `substring' means that the command word must
  208. -        match a substring of the job.  Any other value means that
  209. -        the command must be a prefix of a stopped job.
  210. +                itself is first looked for in the list of currently
  211. +                stopped jobs.  If found there, that job is foregrounded.
  212. +                A value of `exact' means that the command word must
  213. +                exactly match a command in the list of stopped jobs.  A
  214. +                value of `substring' means that the command word must
  215. +                match a substring of the job.  Any other value means that
  216. +                the command must be a prefix of a stopped job.
  217.  #if defined (HISTORY)
  218.  command_oriented_history
  219. @@ -124,16 +124,16 @@
  220.  #  if defined (BANG_HISTORY)
  221.  histchars       Characters controlling history expansion and quick
  222. -        substitution.  The first character is the history
  223. -        substitution character, usually `!'.  The second is
  224. -        the `quick substitution' character, usually `^'.  The
  225. -        third is the `history comment' character, usually `#'.
  226. +                substitution.  The first character is the history
  227. +                substitution character, usually `!'.  The second is
  228. +                the `quick substitution' character, usually `^'.  The
  229. +                third is the `history comment' character, usually `#'.
  230.  #  endif /* BANG_HISTORY */
  231. -HISTCONTROL    Set to a value of `ignorespace', it means don't enter
  232. -        lines which begin with a space or tab on the history
  233. -        list.  Set to a value of `ignoredups', it means don't
  234. -        enter lines which match the last entered line.  Set to
  235. -        `ignoreboth' means to combine the two options.  Unset,
  236. -        or set to any other value than those above means to save
  237. -        all lines on the history list.
  238. +HISTCONTROL     Set to a value of `ignorespace', it means don't enter
  239. +                lines which begin with a space or tab on the history
  240. +                list.  Set to a value of `ignoredups', it means don't
  241. +                enter lines which match the last entered line.  Set to
  242. +                `ignoreboth' means to combine the two options.  Unset,
  243. +                or set to any other value than those above means to save
  244. +                all lines on the history list.
  245.  #endif /* HISTORY */
  246.  #if defined (JOB_CONTROL)
  247. diff -u2r orig/builtins/set.def ./builtins/set.def
  248. --- orig/builtins/set.def    Thu Jun  2 15:35:34 1994
  249. +++ ./builtins/set.def    Fri Jun  3 23:20:44 1994
  250. @@ -71,9 +71,9 @@
  251.              notify       save as -b
  252.              nounset      same as -u
  253. -        physical     same as -P
  254. -        posix        change the behavior of bash where the default
  255. -             operation differs from the 1003.2 standard to
  256. -             match the standard
  257. -        privileged   same as -p
  258. +            physical     same as -P
  259. +            posix        change the behavior of bash where the default
  260. +                         operation differs from the 1003.2 standard to
  261. +                         match the standard
  262. +            privileged   same as -p
  263.              verbose      same as -v
  264.  #if defined (READLINE)
  265. @@ -84,5 +84,5 @@
  266.          Disables processing of the $ENV file and importing of shell
  267.          functions.  Turning this option off causes the effective uid and
  268. -    gid to be set to the real uid and gid.
  269. +        gid to be set to the real uid and gid.
  270.      -t  Exit after reading and executing one command.
  271.      -u  Treat unset variables as an error when substituting.
  272. diff -u2r orig/builtins/ulimit.def ./builtins/ulimit.def
  273. --- orig/builtins/ulimit.def    Thu Jul  7 17:31:14 1994
  274. +++ ./builtins/ulimit.def    Thu Jul  7 18:30:20 1994
  275. @@ -30,17 +30,17 @@
  276.  option is given, it is interpreted as follows:
  277.  
  278. -    -S    use the `soft' resource limit
  279. -    -H    use the `hard' resource limit
  280. -    -a    all current limits are reported
  281. -    -c    the maximum size of core files created
  282. -    -d    the maximum size of a process's data segment
  283. -    -m    the maximum resident set size
  284. -    -s    the maximum stack size
  285. -    -t    the maximum amount of cpu time in seconds
  286. -    -f    the maximum size of files created by the shell
  287. -    -p    the pipe buffer size
  288. -    -n    the maximum number of open file descriptors
  289. -    -u    the maximum number of user processes
  290. -    -v    the size of virtual memory 
  291. +    -S  use the `soft' resource limit
  292. +    -H  use the `hard' resource limit
  293. +    -a  all current limits are reported
  294. +    -c  the maximum size of core files created
  295. +    -d  the maximum size of a process's data segment
  296. +    -m  the maximum resident set size
  297. +    -s  the maximum stack size
  298. +    -t  the maximum amount of cpu time in seconds
  299. +    -f  the maximum size of files created by the shell
  300. +    -p  the pipe buffer size
  301. +    -n  the maximum number of open file descriptors
  302. +    -u  the maximum number of user processes
  303. +    -v  the size of virtual memory 
  304.  
  305.  If LIMIT is given, it is the new value of the specified resource.
  306. diff -u2r orig/config.h.mini ./config.h.mini
  307. --- orig/config.h.mini    Thu Jun  2 15:35:22 1994
  308. +++ ./config.h.mini    Sat Jun  4 10:11:06 1994
  309. @@ -146,6 +146,6 @@
  310.  /* Right now, you cannot do this on machines without fully operational
  311.     FIFO support.  This currently include NeXT and Alliant. */
  312. -#if !defined (MKFIFO_MISSING)
  313. -#  define PROCESS_SUBSTITUTION
  314. +#if !defined (MKFIFO_MISSING) || defined (HAVE_DEV_FD)
  315. +/* #  define PROCESS_SUBSTITUTION */
  316.  #endif /* !MKFIFO_MISSING */
  317.  
  318. diff -u2r orig/cpp-Makefile ./cpp-Makefile
  319. --- orig/cpp-Makefile    Thu Jul  7 17:30:42 1994
  320. +++ ./cpp-Makefile    Sun Jul 24 12:16:10 1994
  321. @@ -159,4 +159,12 @@
  322.  OS = M_OS
  323.  
  324. +#ifdef atarist
  325. +BASEREL = -mbaserel
  326. +ifdef BASEREL
  327. +b = b
  328. +endif
  329. +#undef gem
  330. +#endif
  331. +
  332.  /**/# PROFILE_FLAGS is either -pg, to generate profiling info for use
  333.  /**/# with gprof, or nothing (the default).
  334. @@ -299,5 +307,5 @@
  335.  /**/# other information besides optimization and debugging might be
  336.  /**/# passed to cc.  A different name should have been used.
  337. -CFLAGS = -O -g
  338. +CFLAGS = -O2 -fomit-frame-pointer
  339.  
  340.  SYSTEM_FLAGS = $(LINEBUF) $(VPRINTF) $(UNISTD) $(STDLIB) $(LIMITSH) \
  341. @@ -307,6 +315,12 @@
  342.         -D$(Machine) -D$(OS)
  343.  LDFLAGS    = $(NOSHARE) $(SYSDEP_LD) $(EXTRA_LD_PATH) $(PROFILE_FLAGS) $(CFLAGS)
  344. +#ifdef atarist
  345. +LDFLAGS += $(BASEREL)
  346. +#endif
  347.  CCFLAGS    = $(PROFILE_FLAGS) $(CFLAGS) $(SYSTEM_FLAGS) -DSHELL $(ALLOCA_CFLAGS) \
  348.        $(MALLOC_CFLAGS)
  349. +#ifdef atarist
  350. +CCFLAGS += $(BASEREL)
  351. +#endif
  352.  CPPFLAGS= -I. -I$(srcdir) -I$(LIBSRC)
  353.  GCC_LINT_FLAGS = -ansi -Wall -Wshadow -Wpointer-arith -Wcast-qual \
  354. @@ -369,4 +383,7 @@
  355.            $(STRCHR) -D$(Machine) -D$(OS) $(UNISTD) $(LIMITSH) \
  356.            $(STRCASE) $(STDLIB) -DSHELL
  357. +#ifdef atarist
  358. +LIBRARY_CFLAGS += $(BASEREL)
  359. +#endif
  360.  
  361.  /**/# These are required for sending bug reports.
  362. @@ -550,5 +567,9 @@
  363.  TERMCAP_LIBRARY = -lcurses
  364.  #  else /* !USE_TERMCAP_EMULATION */
  365. +#ifdef atarist
  366. +TERMCAP_LIBRARY = -l$btermcap
  367. +#else
  368.  TERMCAP_LIBRARY = -ltermcap
  369. +#endif
  370.  #  endif /* !USE_TERMCAP_EMULATION */
  371.  #endif /* !USE_GNU_TERMCAP */
  372. @@ -660,5 +681,9 @@
  373.  TERMCAP_LIB = -lcurses
  374.  #  else  /* !USE_TERMCAP_EMULATION */
  375. +#ifdef atarist
  376. +TERMCAP_LIB = -l$btermcap
  377. +#else
  378.  TERMCAP_LIB = -ltermcap
  379. +#endif
  380.  #  endif /* !USE_TERMCAP_EMULATION */
  381.  
  382. @@ -937,5 +962,5 @@
  383.             $(DEFDIR)times.def $(DEFDIR)trap.def $(DEFDIR)type.def \
  384.             $(DEFDIR)ulimit.def $(DEFDIR)umask.def $(DEFDIR)wait.def \
  385. -           $(DEFDIR)getopts.def $(DEFDIR)reserved.def
  386. +           $(DEFDIR)getopts.def $(DEFDIR)reserved.def $(DEFDIR)gem.def
  387.  BUILTIN_C_SRC  = $(DEFDIR)mkbuiltins.c $(DEFDIR)common.c \
  388.            $(DEFDIR)hashcom.h $(DEFDIR)/bashgetopt.c $(GETOPT_SOURCE)
  389. @@ -953,5 +978,5 @@
  390.             $(DEFDIR)times.o $(DEFDIR)trap.o $(DEFDIR)type.o \
  391.             $(DEFDIR)ulimit.o $(DEFDIR)umask.o $(DEFDIR)wait.o \
  392. -           $(BUILTIN_C_OBJ)
  393. +           $(DEFDIR)gem.o $(BUILTIN_C_OBJ)
  394.  #if defined (GETOPTS_BUILTIN)
  395.  GETOPTS_OBJ    = $(DEFDIR)getopts.o
  396. @@ -1023,5 +1048,10 @@
  397.      $(PURIFY) $(CC) $(LDFLAGS) $(LIBRARY_LDFLAGS) -o $(Program) $(OBJECTS) $(LIBRARIES)
  398.      ls -l $(Program)
  399. +#ifdef atarist
  400. +    -fixstk 20k $@
  401. +    -size68 $@
  402. +#else
  403.      size $(Program)
  404. +#endif
  405.  
  406.  .build:    $(SOURCES) cpp-Makefile newversion.aux
  407. @@ -1426,4 +1456,5 @@
  408.  builtins/umask.o: builtins/umask.def
  409.  builtins/wait.o: builtins/wait.def
  410. +builtins/gem.o: builtins/gem.def
  411.  
  412.  $(Program).tar: $(THINGS_TO_TAR) .distribution
  413. @@ -1442,5 +1473,5 @@
  414.          $(INSTALL_PROGRAM) $(Program) $(bindir)/$(Program)
  415.          -if [ -f $(bindir)/bashbug ]; \
  416. -          then mv $(bindir)/bashbug $(bindir)$bashbug.old; \
  417. +          then mv $(bindir)/bashbug $(bindir)/bashbug.old; \
  418.          fi
  419.          $(INSTALL_PROGRAM) bashbug $(bindir)/bashbug
  420. diff -u2r orig/documentation/Makefile ./documentation/Makefile
  421. --- orig/documentation/Makefile    Thu Jul  7 17:31:16 1994
  422. +++ ./documentation/Makefile    Thu Jul  7 18:35:34 1994
  423. @@ -9,8 +9,8 @@
  424.  TEXINDEX    = $(DOC_SUPPORT)texindex
  425.  TEXINDSRC   = $(DOC_SUPPORT)texindex.c
  426. -TEX        = tex
  427. +TEXI2DVI    = texi2dvi
  428.  QUIETPS        = #set this to -q to shut up dvips
  429. -DVIPS        = dvips -D 300 $(QUIETPS) -o $@    # tricky
  430. -TEXINPUTS   = ./../lib/readline/doc
  431. +DVIPS        = dvips $(QUIETPS) -o $@    # tricky
  432. +TEXINPUTDIR = ./../lib/readline/doc
  433.  MAKEINFO    = makeinfo
  434.  
  435. @@ -52,7 +52,5 @@
  436.  
  437.  features.dvi: features.texi $(HSUSER) $(RLUSER)
  438. -    TEXINPUTS=.:$(TEXINPUTS):$$TEXINPUTS $(TEX) features.texi
  439. -    $(TEXINDEX) features.??
  440. -    TEXINPUTS=.:$(TEXINPUTS):$$TEXINPUTS $(TEX) features.texi
  441. +    TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) features.texi
  442.  
  443.  features.ps: features.dvi
  444. @@ -61,10 +59,8 @@
  445.  
  446.  features.info: features.texi $(HSUSER) $(RLUSER)
  447. -    $(MAKEINFO) --no-split -I$(TEXINPUTS) features.texi
  448. +    $(MAKEINFO) --no-split -I$(TEXINPUTDIR) features.texi
  449.  
  450.  bash.dvi: $(TEXINDEX) bash.texinfo $(HSUSER) $(RLUSER)
  451. -    TEXINPUTS=.:$(TEXINPUTS):$$TEXINPUTS $(TEX) bash.texinfo
  452. -    $(TEXINDEX) bash.??
  453. -    TEXINPUTS=.:$(TEXINPUTS):$$TEXINPUTS $(TEX) bash.texinfo
  454. +    TEXINPUTS=.:$(TEXINPUTDIR):$$TEXINPUTS $(TEXI2DVI) bash.texinfo
  455.  
  456.  bashman.ps: bash.dvi
  457. diff -u2r orig/documentation/readline.3 ./documentation/readline.3
  458. --- orig/documentation/readline.3    Thu Jul  7 17:31:20 1994
  459. +++ ./documentation/readline.3    Thu Jul  7 18:37:12 1994
  460. @@ -79,4 +79,6 @@
  461.  .ft
  462.  .fi
  463. +.LP
  464. +.nf
  465.  .ft B
  466.  int rl_macro_bind (keyseq, macro, keymap)
  467. @@ -92,6 +94,4 @@
  468.  .ft
  469.  .fi
  470. -.LP
  471. -.nf
  472.  .LP
  473.  .nf
  474. diff -u2r orig/execute_cmd.c ./execute_cmd.c
  475. --- orig/execute_cmd.c    Thu Jul  7 17:30:46 1994
  476. +++ ./execute_cmd.c    Thu Jul  7 18:41:28 1994
  477. @@ -2099,4 +2099,10 @@
  478.      }
  479.  
  480. +#ifdef atarist
  481. +  /* Clear any ouput errors from redirected builtins.  */
  482. +  clearerr (stdout);
  483. +  clearerr (stderr);
  484. +#endif
  485. +
  486.    return (result);
  487.  }
  488. @@ -2116,4 +2122,39 @@
  489.  }
  490.  
  491. +#if defined (atarist)
  492. +static char *const suffixes[] = { ".ttp", ".tos", ".prg", ".app", ".gtp" };
  493. +
  494. +#define N_SUFFIXES (sizeof (suffixes) / sizeof (suffixes[0]))
  495. +#define MAX_SUFFIX_LEN 4
  496. +
  497. +char *
  498. +find_suffixed_file (name)
  499. +     char *name;
  500. +{
  501. +  char *basename = strrchr (name, '/');
  502. +
  503. +  if (strchr (basename ? basename : name, '.') == NULL)
  504. +    {
  505. +      int i, status, name_len = strlen (name);
  506. +      char *name_suffix = alloca (name_len + MAX_SUFFIX_LEN + 1);
  507. +
  508. +      status = file_status (name);
  509. +      if (status & FS_EXISTS)
  510. +    return savestring (name);
  511. +
  512. +      strcpy (name_suffix, name);
  513. +      for (i = 0; i < N_SUFFIXES; i++)
  514. +    {
  515. +      strcpy (name_suffix + name_len, suffixes[i]);
  516. +      status = file_status (name_suffix);
  517. +
  518. +      if (status & FS_EXECABLE)
  519. +        return savestring (name_suffix);
  520. +    }
  521. +    }
  522. +  return savestring (name);
  523. +}
  524. +#endif
  525. +
  526.  /* Execute a simple command that is hopefully defined in a disk file
  527.     somewhere.
  528. @@ -2195,5 +2236,9 @@
  529.      /* A command containing a slash is not looked up in PATH or saved in
  530.         the hash table. */
  531. +#ifdef atarist
  532. +    command = find_suffixed_file (pathname);
  533. +#else
  534.      command = savestring (pathname);
  535. +#endif
  536.    else
  537.      {
  538. @@ -2359,4 +2404,12 @@
  539.    args[larry] = (char *)NULL;
  540.  
  541. +#ifdef atarist
  542. +  {
  543. +    char *p = find_suffixed_file (execname);
  544. +    free (execname);
  545. +    execname = p;
  546. +  }
  547. +#endif
  548. +
  549.    return (shell_execve (execname, args, env));
  550.  }
  551. @@ -3497,5 +3550,9 @@
  552.    if (absolute_program (name))
  553.      {
  554. +#ifdef atarist
  555. +      full_path = xmalloc (1 + MAX_SUFFIX_LEN + name_len);
  556. +#else
  557.        full_path = xmalloc (1 + name_len);
  558. +#endif
  559.        strcpy (full_path, name);
  560.  
  561. @@ -3505,4 +3562,21 @@
  562.        if (!(status & FS_EXISTS))
  563.      {
  564. +#ifdef atarist
  565. +      char *basename = strrchr (name, '/');
  566. +      if (strchr (basename ? basename : name, '.') == NULL)
  567. +        {
  568. +          int i;
  569. +
  570. +          for (i = 1; i < N_SUFFIXES; i++)
  571. +        {
  572. +          strcpy (full_path + name_len, suffixes[i]);
  573. +          status = file_status (full_path);
  574. +
  575. +          if (flags & FS_EXEC_ONLY
  576. +              ? status & FS_EXECABLE : status & FS_EXISTS)
  577. +            return full_path;
  578. +        }
  579. +        }
  580. +#endif
  581.        free (full_path);
  582.        return ((char *)NULL);
  583. @@ -3552,5 +3626,9 @@
  584.      dot_found_in_search = 1;
  585.  
  586. +#ifdef atarist
  587. +      full_path = make_full_pathname (path, name, name_len + MAX_SUFFIX_LEN);
  588. +#else
  589.        full_path = make_full_pathname (path, name, name_len);
  590. +#endif
  591.        free (path);
  592.  
  593. @@ -3558,5 +3636,38 @@
  594.  
  595.        if (!(status & FS_EXISTS))
  596. +#ifndef atarist
  597.      goto next_file;
  598. +#else
  599. +    {
  600. +      if (strchr (name, '.') == NULL)
  601. +        {
  602. +          int i, len = strlen (full_path);
  603. +
  604. +          for (i = 0; i < N_SUFFIXES; i++)
  605. +        {
  606. +          strcpy (full_path + len, suffixes[i]);
  607. +          status = file_status (full_path);
  608. +          if (status & FS_EXISTS)
  609. +            {
  610. +              if (flags & FS_EXISTS)
  611. +            return full_path;
  612. +              if (status & FS_EXECABLE)
  613. +            {
  614. +              if (file_to_lose_on)
  615. +                free (file_to_lose_on);
  616. +
  617. +              return full_path;
  618. +            }
  619. +              if (flags & FS_EXEC_PREFERRED)
  620. +            {
  621. +              if (!file_to_lose_on)
  622. +                file_to_lose_on = savestring (full_path);
  623. +            }
  624. +            }
  625. +        }
  626. +        }
  627. +      goto next_file;
  628. +    }
  629. +#endif
  630.  
  631.        /* The file exists.  If the caller simply wants the first file,
  632. diff -u2r orig/execute_cmd.h ./execute_cmd.h
  633. --- orig/execute_cmd.h    Thu Jun  2 15:35:26 1994
  634. +++ ./execute_cmd.h    Fri Jun  3 23:16:18 1994
  635. @@ -35,4 +35,7 @@
  636.  extern char *find_user_command __P((char *));
  637.  extern char *find_path_file __P((char *));
  638. +#ifdef atarist
  639. +extern char *find_suffixed_file __P((char *));
  640. +#endif
  641.  extern char *user_command_matches __P((char *, int, int));
  642.  extern int same_file __P((char *, char *, struct stat *, struct stat *));
  643. diff -u2r orig/general.c ./general.c
  644. --- orig/general.c    Thu Jul  7 17:30:46 1994
  645. +++ ./general.c    Thu Jul  7 18:49:44 1994
  646. @@ -732,5 +732,5 @@
  647.  }
  648.  
  649. -#if !defined (HAVE_STRCASECMP)
  650. +#if !defined (HAVE_STRCASECMP) && !defined (HAVE_STRICMP)
  651.  
  652.  #if !defined (to_upper)
  653. @@ -775,5 +775,5 @@
  654.    return (*string1 - *string2);
  655.  }
  656. -#endif /* !HAVE_STRCASECMP */
  657. +#endif /* !HAVE_STRCASECMP && !HAVE_STRICMP */
  658.  
  659.  /* Determine if s2 occurs in s1.  If so, return a pointer to the
  660. diff -u2r orig/general.h ./general.h
  661. --- orig/general.h    Thu Jul  7 17:30:48 1994
  662. +++ ./general.h    Thu Jul  7 18:48:48 1994
  663. @@ -209,6 +209,8 @@
  664.  
  665.  #if !defined (HAVE_STRCASECMP)
  666. +#if !defined (HAVE_STRICMP)
  667.  extern int strnicmp __P((char *, char *, int));
  668.  extern int stricmp __P((char *, char *));
  669. +#endif /* HAVE_STRICMP */
  670.  #else /* HAVE_STRCASECMP */
  671.  #  define stricmp strcasecmp
  672. diff -u2r orig/jobs.c ./jobs.c
  673. --- orig/jobs.c    Thu Jul  7 17:30:50 1994
  674. +++ ./jobs.c    Thu Jul  7 18:50:20 1994
  675. @@ -192,5 +192,5 @@
  676.  #endif
  677.  
  678. -#if !defined (_POSIX_VERSION)
  679. +#if !defined (_POSIX_VERSION) && !defined (atarist)
  680.  
  681.  /* These are definitions to map POSIX 1003.1 functions onto existing BSD
  682. @@ -1912,5 +1912,5 @@
  683.      wait3 ((union wait *)statusp, options, (struct rusage *)0)
  684.  #else
  685. -#  if defined (_POSIX_VERSION)
  686. +#  if defined (_POSIX_VERSION) || defined (atarist)
  687.  #    define WAITPID(pid, statusp, options) \
  688.      waitpid ((pid_t)pid, statusp, options)
  689. @@ -2234,5 +2234,5 @@
  690.  /* getpgrp () varies between systems.  Even systems that claim to be
  691.     Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
  692. -#if defined (_POSIX_VERSION) && !defined (BSD_GETPGRP)
  693. +#if defined (_POSIX_VERSION) && !defined (BSD_GETPGRP) || defined (atarist)
  694.  #  define getpgid(p) getpgrp ()
  695.  #else
  696. diff -u2r orig/jobs.h ./jobs.h
  697. --- orig/jobs.h    Thu Jun  2 15:35:24 1994
  698. +++ ./jobs.h    Fri Jun  3 23:28:24 1994
  699. @@ -235,5 +235,5 @@
  700.  #endif /* !SIGCHLD */
  701.  
  702. -#if !defined (_POSIX_VERSION)
  703. +#if !defined (_POSIX_VERSION) && !defined (atarist)
  704.  #  if !defined (SIG_BLOCK)
  705.  #    define SIG_BLOCK 2
  706. @@ -272,5 +272,5 @@
  707.    sigprocmask (SIG_BLOCK, &nvar, &ovar)
  708.  
  709. -#if defined (_POSIX_VERSION)
  710. +#if defined (_POSIX_VERSION) || defined (atarist)
  711.  #  define BLOCK_CHILD(nvar, ovar) \
  712.      BLOCK_SIGNAL (SIGCHLD, nvar, ovar)
  713. diff -u2r orig/lib/glob/Makefile ./lib/glob/Makefile
  714. --- orig/lib/glob/Makefile    Fri Jun  3 22:03:16 1994
  715. +++ ./lib/glob/Makefile    Sat Jun  4 10:01:34 1994
  716. @@ -68,5 +68,5 @@
  717.  
  718.  documentation: force
  719. -    -(cd doc; $(MAKE) $(MFLAGS))
  720. +    -cd doc && $(MAKE) $(MFLAGS)
  721.  force:
  722.  
  723. @@ -81,5 +81,5 @@
  724.  clean:
  725.      rm -f $(OBJECTS) $(LIBRARY_NAME)
  726. -    -(cd doc; $(MAKE) $(MFLAGS) clean)
  727. +    -cd doc && $(MAKE) $(MFLAGS) clean
  728.  
  729.  
  730. diff -u2r orig/lib/readline/bind.c ./lib/readline/bind.c
  731. --- orig/lib/readline/bind.c    Thu Jul  7 17:31:22 1994
  732. +++ ./lib/readline/bind.c    Thu Jul  7 18:53:32 1994
  733. @@ -96,6 +96,8 @@
  734.  #define strnicmp strncasecmp
  735.  #else
  736. +#if !defined (HAVE_STRICMP)
  737.  static int stricmp (), strnicmp ();
  738.  #endif
  739. +#endif
  740.  
  741.  #if defined (STATIC_MALLOC)
  742. @@ -1427,5 +1429,5 @@
  743.  }
  744.  
  745. -#if !defined (HAVE_STRCASECMP)
  746. +#if !defined (HAVE_STRCASECMP) && !defined (HAVE_STRICMP)
  747.  /* Whoops, Unix doesn't have strnicmp. */
  748.  
  749. @@ -1467,5 +1469,5 @@
  750.    return (*string1 - *string2);
  751.  }
  752. -#endif /* !HAVE_STRCASECMP */
  753. +#endif /* !HAVE_STRCASECMP && !HAVE_STRICMP */
  754.  
  755.  /* Determine if s2 occurs in s1.  If so, return a pointer to the
  756. diff -u2r orig/lib/readline/complete.c ./lib/readline/complete.c
  757. --- orig/lib/readline/complete.c    Thu Jul  7 17:31:24 1994
  758. +++ ./lib/readline/complete.c    Thu Jul  7 20:47:42 1994
  759. @@ -145,5 +145,5 @@
  760.  
  761.  /* Local variable states what happened during the last completion attempt. */
  762. -static int completion_changed_buffer = 0;
  763. +static int completion_was_ambigous = 0;
  764.  
  765.  /* Complete the word at or before point.  You have supplied the function
  766. @@ -154,5 +154,5 @@
  767.       int ignore, invoking_key;
  768.  {
  769. -  if (rl_last_func == rl_complete && !completion_changed_buffer)
  770. +  if (rl_last_func == rl_complete && completion_was_ambigous)
  771.      return (rl_complete_internal ('?'));
  772.    else if (_rl_complete_show_all)
  773. @@ -366,14 +366,9 @@
  774.    Function *our_func;
  775.    int start, scan, end, delimiter = 0, pass_next;
  776. -  char *text, *saved_line_buffer;
  777. +  char *text;
  778.    char *replacement;
  779.    char quote_char = '\0';
  780.    int found_quote = 0;
  781.  
  782. -  if (rl_line_buffer)
  783. -    saved_line_buffer = savestring (rl_line_buffer);
  784. -  else
  785. -    saved_line_buffer = (char *)NULL;
  786. -
  787.    if (rl_completion_entry_function)
  788.      our_func = rl_completion_entry_function;
  789. @@ -529,5 +524,4 @@
  790.        int j, newlen = 0;
  791.        char dead_slot;
  792. -      char **temp_array;
  793.  
  794.        /* Sort the items. */
  795. @@ -553,17 +547,15 @@
  796.        /* We have marked all the dead slots with (char *)&dead_slot.
  797.           Copy all the non-dead entries into a new array. */
  798. -      temp_array = (char **)xmalloc ((3 + newlen) * sizeof (char *));
  799.        for (i = j = 1; matches[i]; i++)
  800.          {
  801.            if (matches[i] != (char *)&dead_slot)
  802. -        temp_array[j++] = matches[i];
  803. +        matches[j++] = matches[i];
  804.          }
  805. -      temp_array[j] = (char *)NULL;
  806. +      matches[j] = (char *)NULL;
  807.  
  808.        if (matches[0] != (char *)&dead_slot)
  809.          free (matches[0]);
  810. -      free (matches);
  811.  
  812. -      matches = temp_array;
  813. +      matches = (char **)xrealloc (matches, (j + 1) * sizeof (char *));
  814.  
  815.        /* Place the lowest common denominator back in [0]. */
  816. @@ -880,18 +872,9 @@
  817.      }
  818.  
  819. +      completion_was_ambigous = matches[1] != NULL;
  820. +
  821.        for (i = 0; matches[i]; i++)
  822.      free (matches[i]);
  823.        free (matches);
  824. -    }
  825. -
  826. -  /* Check to see if the line has changed through all of this manipulation. */
  827. -  if (saved_line_buffer)
  828. -    {
  829. -      if (strcmp (rl_line_buffer, saved_line_buffer) != 0)
  830. -    completion_changed_buffer = 1;
  831. -      else
  832. -    completion_changed_buffer = 0;
  833. -
  834. -      free (saved_line_buffer);
  835.      }
  836.    return 0;
  837. diff -u2r orig/lib/readline/isearch.c ./lib/readline/isearch.c
  838. --- orig/lib/readline/isearch.c    Thu Jul  7 17:31:30 1994
  839. +++ ./lib/readline/isearch.c    Thu Jul  7 21:07:24 1994
  840. @@ -326,4 +326,7 @@
  841.        ding ();
  842.        i = last_found_line;
  843. +      line_index = rl_point;
  844. +      if (c >= 32 && c <= 126)
  845. +        search_string[--search_string_index] = '\0';
  846.        continue;         /* XXX - was break */
  847.      }
  848. diff -u2r orig/lib/readline/readline.c ./lib/readline/readline.c
  849. --- orig/lib/readline/readline.c    Thu Jul  7 17:31:34 1994
  850. +++ ./lib/readline/readline.c    Sun Jul 24 09:03:56 1994
  851. @@ -531,6 +531,8 @@
  852.  
  853.        fcntl (tty, F_SETFL, flags);
  854. +#ifndef atarist
  855.        if (chars_avail == -1 && errno == EAGAIN)
  856.      return;
  857. +#endif
  858.      }
  859.  #endif /* O_NDELAY */
  860. @@ -3248,4 +3250,5 @@
  861.  }
  862.  
  863. +#if 0
  864.  #if !defined (SHELL)
  865.  #ifdef savestring
  866. @@ -3254,9 +3257,11 @@
  867.  /* Backwards compatibilty, now that savestring has been removed from
  868.     all `public' readline header files. */
  869. +char *
  870.  savestring (s)
  871.       char *s;
  872.  {
  873. -  return ((char *)strcpy (xmalloc (1 + (int)strlen (x)), (x)));
  874. +  return ((char *)strcpy (xmalloc (1 + (int)strlen (s)), (s)));
  875.  }
  876. +#endif
  877.  #endif
  878.  
  879. diff -u2r orig/lib/tilde/Makefile ./lib/tilde/Makefile
  880. --- orig/lib/tilde/Makefile    Fri Jun  3 22:31:54 1994
  881. +++ ./lib/tilde/Makefile    Thu Jul  7 21:26:06 1994
  882. @@ -70,5 +70,5 @@
  883.  
  884.  documentation: force
  885. -    -(cd doc; $(MAKE) $(MFLAGS))
  886. +    -cd doc && $(MAKE) $(MFLAGS)
  887.  force:
  888.  
  889. @@ -83,5 +83,5 @@
  890.  clean:
  891.      $(RM) -f $(OBJECTS) $(LIBRARY_NAME)
  892. -    -(cd doc; $(MAKE) $(MFLAGS) clean)
  893. +    -cd doc && $(MAKE) $(MFLAGS) clean
  894.  
  895.  
  896. diff -u2r orig/machines.h ./machines.h
  897. --- orig/machines.h    Thu Jul  7 17:30:52 1994
  898. +++ ./machines.h    Thu Jul  7 21:11:46 1994
  899. @@ -1923,4 +1923,54 @@
  900.  #endif /* cadmus */
  901.  
  902. +/* ******************************* */
  903. +/*                   */
  904. +/*    Atari ST running MiNT       */
  905. +/*                   */
  906. +/* ******************************* */
  907. +#if defined (atarist)
  908. +#define M_MACHINE "atari"
  909. +#define M_OS "MiNT"
  910. +#define HAVE_POSIX_SIGNALS
  911. +#define HAVE_VFPRINTF
  912. +#define HAVE_SETLINEBUF
  913. +#define HAVE_STRCHR
  914. +#define HAVE_STRERROR
  915. +#define HAVE_GETGROUPS
  916. +#define HAVE_DUP2
  917. +#define HAVE_GETPAGESIZE
  918. +#define HAVE_GETDTABLESIZE
  919. +#define HAVE_SYS_SIGLIST
  920. +#define SYSDEP_CFLAGS -DHAVE_BCOPY -DHAVE_UID_T -DMKFIFO_MISSING -DHAVE_STRICMP
  921. +#undef USE_GNU_MALLOC
  922. +#define HAVE_FIXED_INCLUDES
  923. +#define HAVE_DIRENT
  924. +#define VOID_SIGHANDLER
  925. +#endif
  926. +
  927. +/* ********************* */
  928. +/*             */
  929. +/*    Linux/m68k     */
  930. +/*             */
  931. +/* ********************* */
  932. +#if defined (__mc68000__) && (defined (__linux__) || defined (linux))
  933. +#  define M_MACHINE "m68k"
  934. +#  define M_OS "Linux"
  935. +#  define SYSDEP_CFLAGS -DHAVE_BCOPY -DHAVE_GETPW_DECLS -DHAVE_GETHOSTNAME
  936. +#  define REQUIRED_LIBRARIES
  937. +#  define HAVE_GETGROUPS
  938. +#  define HAVE_STRERROR
  939. +#  define VOID_SIGHANDLER
  940. +#  define HAVE_POSIX_SIGNALS
  941. +#  define HAVE_SYS_SIGLIST
  942. +#  define HAVE_VFPRINTF
  943. +#  define HAVE_VARARGS_H
  944. +#  if defined (__GNUC__)
  945. +#    define HAVE_FIXED_INCLUDES
  946. +#  endif /* __GNUC__ */
  947. +#  undef USE_GNU_MALLOC
  948. +#  undef HAVE_SETLINEBUF
  949. +#  define HAVE_STRCASECMP
  950. +#endif  /* __mc68000__ && __linux__ */
  951. +
  952.  /* **************************************************************** */
  953.  /*                                    */
  954. diff -u2r orig/nojobs.c ./nojobs.c
  955. --- orig/nojobs.c    Thu Jul  7 17:30:54 1994
  956. +++ ./nojobs.c    Thu Jul  7 21:14:46 1994
  957. @@ -59,9 +59,9 @@
  958.  #endif /* USG || _POSIX_VERSION */
  959.  
  960. -#if defined (USG)
  961. +#if defined (USG) || defined (atarist)
  962.  #  define siginterrupt(sig, code)
  963.  #endif /* USG */
  964.  
  965. -#if defined (_POSIX_VERSION)
  966. +#if defined (_POSIX_VERSION) || defined (atarist)
  967.  #  define WAITPID(pid, statusp, options) waitpid (pid, statusp, options)
  968.  #else
  969. diff -u2r orig/parse.y ./parse.y
  970. --- orig/parse.y    Thu Jul  7 17:30:58 1994
  971. +++ ./parse.y    Thu Jul  7 21:15:10 1994
  972. @@ -51,5 +51,4 @@
  973.  #endif /* PROMPT_STRING_DECODE */
  974.  
  975. -#define YYDEBUG 1
  976.  extern int eof_encountered;
  977.  extern int no_line_editing;
  978. diff -u2r orig/shell.c ./shell.c
  979. --- orig/shell.c    Thu Jul  7 17:31:00 1994
  980. +++ ./shell.c    Thu Jul  7 21:15:50 1994
  981. @@ -331,6 +331,4 @@
  982.      act_like_sh++;
  983.  
  984. -  yydebug = 0;
  985. -
  986.    shell_environment = env;
  987.    shell_name = argv[0];
  988. @@ -505,5 +503,7 @@
  989.      }
  990.  
  991. +#ifndef atarist
  992.  #define CLOSE_FDS_AT_LOGIN
  993. +#endif
  994.  #if defined (CLOSE_FDS_AT_LOGIN)
  995.    /*
  996. @@ -1725,4 +1725,5 @@
  997.  }
  998.  
  999. +#ifndef atarist
  1000.  #if !defined (USG) && defined (ENOTSOCK)
  1001.  #  if !defined (HAVE_SOCKETS)
  1002. @@ -1734,4 +1735,5 @@
  1003.  #include <sys/socket.h>
  1004.  #endif
  1005. +#endif
  1006.  
  1007.  /* Is FD a socket or network connection? */
  1008. @@ -1740,4 +1742,7 @@
  1009.       int fd;
  1010.  {
  1011. +#ifdef atarist
  1012. +  return 0;
  1013. +#else
  1014.  #if defined (USGr4) || defined (USGr4_2)
  1015.    /* Sockets on SVR4 and SVR4.2 are character special (streams) devices. */
  1016. @@ -1767,3 +1772,4 @@
  1017.  #  endif /* !HAVE_SOCKETS */
  1018.  #endif /* !USGr4 && !USGr4_2 */
  1019. +#endif /* !atarist */
  1020.  }
  1021. diff -u2r orig/subst.c ./subst.c
  1022. --- orig/subst.c    Thu Jul  7 17:31:02 1994
  1023. +++ ./subst.c    Thu Jul  7 21:18:22 1994
  1024. @@ -1887,4 +1887,9 @@
  1025.    old_pipeline_pgrp = pipeline_pgrp;
  1026.    pipeline_pgrp = shell_pgrp;
  1027. +#ifdef atarist
  1028. +  /* Avoid race condition.  Since fork () is blocking, we don't have
  1029. +     the chance to set the SIGCHLD handler before the child dies.  */
  1030. +  set_sigchld_handler ();
  1031. +#endif
  1032.    pid = make_child ((char *)NULL, 1);
  1033.    if (pid == 0)
  1034. @@ -2022,4 +2027,9 @@
  1035.  
  1036.      pipeline_pgrp = shell_pgrp;
  1037. +#ifdef atarist
  1038. +    /* Avoid race condition.  Since fork () is blocking, we don't have
  1039. +       the chance to set the SIGCHLD handler before the child dies.  */
  1040. +    set_sigchld_handler ();
  1041. +#endif
  1042.      pid = make_child ((char *)NULL, 0);
  1043.      if (pid == 0)
  1044. diff -u2r orig/support/srcdir ./support/srcdir
  1045. --- orig/support/srcdir    Thu Jun  2 15:36:16 1994
  1046. +++ ./support/srcdir    Thu Jul  7 21:32:54 1994
  1047. @@ -6,6 +6,6 @@
  1048.  
  1049.  case "$1" in
  1050. -'.')    pwd ;;
  1051. -*)    echo "$1" ;;
  1052. +/*)    echo "$1" ;;
  1053. +*)    cd $1; pwd ;;
  1054.  esac
  1055.  
  1056.